# Updates a customer's information

<span class="api-endpoint">PUT {{<a href="#urlbases">baseURL</a>}}/pay-api/v1/customers/{{customerId}}</span>
This endpoint updates a customer's information.
<span style="background-color:#e0e0e0; padding:8px 8px; border-radius:4px;">
Care must be taken to complete all the fields with the existing information.
</span>
<span class="api-seealso">See Also:</span><br>
To search for a customer, see `GET /pay-api/v1/customers`.<br>
To find a customer by identifier, see `GET /pay-api/v1/customers/{{customerId}}`.<br>
To create a customer, see `POST /pay-api/v1/customers`.<br>
To delete a customer, see `DELETE /pay-api/v1/customers/{{customerId}}`.

Endpoint: PUT /pay-api/v1/customers/{customerId}
Version: V1
Security: Bearer

## Path parameters:

  - `customerId` (string, required)
    Specifies the customerId, also known as the customer identifier.

## Request fields (application/json):

  - `firstName` (string, required)
    Specifies the customer's first name.

Example: Alexandro
    Example: Alexandro

  - `lastName` (string, required)
    Specifies the customer's last name.

Example: Peppared
    Example: Peppared

  - `companyName` (string)
    Specifies the name of the customer's company or organization.

Example: Peppared Street Cafe
    Example: Peppared Street Cafe

  - `email` (string)
    Specifies the customer's email
Example: pepparedstreetcafe@example.com
    Example: pepparedstreetcafe@example.com

  - `mobilePhoneNumber` (string)
    Specifies the customer's mobile phone number.
Example: +14155552309
    Example: +14155552309

  - `isMobileNumberSmsNotificationsEnabled` (boolean)
    Specifies the customer's SMS notification is enabled.
If `true`, the customer's SMS notification is enabled.
If `false`, the customer's SMS notification is not enabled.
If missing or omitted, the information is not available.
Example: true

  - `useBillingAsShippingAddress` (boolean)
    Specifies to use the billing address as the shipping address.
If `true`, use the billing address as the shipping address.
If `false`, do not use the billing address as the shipping address.
Instead, use the field `shippingAddress`.
Example: true
    Example: true

  - `billingAddress` (object)
    Specifies an object for a street address.

  - `billingAddress.addressLine1` (string)
    Specifies the street address.

Example: 21 E. Main Street
    Example: 21 E. Main Street

  - `billingAddress.addressLine2` (string)
    Specifies additional street address information.

Example: Office 3
    Example: Office 3

  - `billingAddress.city` (string)
    Specifies the name of the city.

Example: Chicago
    Example: Chicago

  - `billingAddress.zip` (string)
    Specifies the postal or ZIP code.
Examples:
60601
60601-0001
    Example: 60601-0001

  - `billingAddress.stateName` (string)
    Specifies the full state name.
Examples:
Texas
Washington
Illinois
    Example: Illinois

  - `billingAddress.stateId` (integer)
    Specifies the Flute US state or territory identifier code.
Example: 4
    Example: 4

  - `billingAddress.countryId` (integer)
    Specifies the Flute country identifier.
Example: 1
    Example: 1

## Response 400 fields (application/json):

  - `details` (string)
    Indicates details about the error.

Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error
    Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)
    Indicates the source of the error.
Example: <Service>
    Example: <Service>

  - `exceptionType` (string)
    Indicates the error's exception type.

Example: FluentValidation.ValidationException
    Example: FluentValidation.ValidationException

  - `correlationId` (string)
    Indicates the correlation identifier.

Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef
    Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef

  - `entityId` (string)
    Indicates the entity identifier.
Example:
null

  - `errorCode` (string)
    Indicates the error code.
Example:
null

## Response 404 fields (application/json):

  - `details` (string)

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)

  - `exceptionType` (string)

  - `correlationId` (string)

  - `entityId` (string)

  - `errorCode` (string)

## Response 500 fields (application/json):

  - `details` (string)

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)

  - `exceptionType` (string)

  - `correlationId` (string)

  - `entityId` (string)

  - `errorCode` (string)

